Method and system for providing the name of the state of a calling party

ABSTRACT

A method for providing the names of the city and state of a calling party to a called party when the calling party&#39;s name is unavailable. The method utilizes the calling party&#39;s telephone number to determine the names of the city and state from which the calling party is calling. The method incorporates a database that contains combinations of telephone numbers and the names of the cities and states that correspond to the various combinations of numbers. In response to an indication that the name of the calling party is unavailable, the method accesses the databases and searches for the matching telephone number and corresponding city and state names. If the names are found, they are delivered to the calling party.

This application is a continuation of application Ser. No. 08/756,598,filed Nov. 27, 1996, now U.S. Pat. No. 5,982,867.

This invention relates generally to telephone services and morespecifically to enhanced caller identification services.

BACKGROUND OF THE INVENTION

Local telephone service providers offer a variety of optional servicesto their customers. The services can be broadly categorized asoriginating services and terminating services. Originating services arecontrolled by the originating or calling party's central office when thecalling party places a call. In comparison, terminating services arecontrolled by the terminating or called party's central office when anattempt to terminate a call occurs.

One example of a terminating service is “caller identification.” Calleridentification provides the called party with the name and telephonenumber of the calling party. Caller identification is typically providedto a subscriber by its local central office. In particular, each centraloffice ordinarily has access to a local database containing telephonenumbers and the corresponding names of people within its local area.Prior to terminating a call to the called party, the central officesearches its database for the telephone number of the calling party. Ifthe telephone number is found within the database, the namecorresponding to that number will be accessed and delivered to thecalled party by the central office.

If the telephone number and name are not within the database, theservice cannot provide a name to the called party. When a service cannotidentify a name corresponding to the number, it typically delivers amessage indicating that the calling party's name is unavailable.Accordingly, a local database containing only a small quantity ofnumbers and corresponding names will generate a large number of“unavailable” messages.

An indication of unavailability provides the customer with noinformation about who is calling or where the call originated from. Thisis an undesirable result for a customer who is paying for a service thatis designed to provide them with information about the person who iscalling them.

The present embodiment of the invention address the problem of providingno information about the calling party when the called party's localdatabase does not contain information about the calling party. When thecalled party's local database does not contain the calling partyinformation alternative information regarding the calling party may beprovided. In one embodiment, for example, the name of the state of thecalling party is provided when the name of the calling party isunavailable. In another embodiment, the names of both the city and stateof the calling party is provided when the name of the calling party isunavailable

BRIEF DESCRIPTION OF THE DRAWINGS

FIG. 1 is a block diagram of an advanced intelligent network telephonesystem.

FIG. 2 is a flow chart of the method of the present invention utilizedin the telephone network of FIG. 1.

FIG. 3 is a block diagram of a telephone network system.

FIG. 4 is a flow chart of the method of the present invention utilizedin the telephone network of FIG. 3.

DESCRIPTION OF THE PRESENTLY PREFERRED EMBODIMENTS

FIG. 1 shows a modern telephone network 10. Such a telephone network mayhave network elements including signal switching points (SSP) 28, 30,48, 50, signal transfer points (STP) 24, 44, tandem switches 26, 46 andservice control points (SCP) 22, 42. These elements typically transfernetwork signaling protocols 60 and voice and data traffic 70 between oneanother.

For example, SSPs 28, 30, 48, 50 and tandem switches 26, 46 typicallytransfer voice and data traffic 70. SSPs 28, 30, 48, 50 also communicatewith STPs 24, 44 to transfer network signaling protocols 60, such asthose defined by Signaling System 7, which is well known in the art, tocontrol the network switching of voice and data traffic.

Preferably, subscribers 34, 54 gain access to the network through theSSPs 28, 30, 48, 50. A SSP is similar to a local telephone centraloffice equipped with a voice switch such as an AT&T#5 ESS or a NortelDMS100, well known to those skilled in the art. Central offices equippedwith software implementing advanced intelligent network (AIN) featuresare designated as SSPs. AIN software enables a SSP to trigger a generalquery to be sent to an SCP. In response to a general query, the SCPdetermines what type of response is required.

As shown in FIG. 1, the telephone network may be divided into regions,such as region A and region B. Each region may include several centraloffices or SSPs. For example, SSPs 28, 30 within region A send andreceive network signaling protocols 60 to and from STP 24 which servicesregion A. SSPs 28, 30 within region A send voice and data traffic 70 toand from tandem switch 26 located within region A, as well as other SSPs44 in region A.

Tandem switches 26, 46, STPs 24, 44 and SCPs 22, 42 typically providevoice and data traffic 70 and network signaling protocols 60 betweencustomers in different geographic areas. For example, tandem switches26, 46 transfer voice and data traffic 70 between regions. Tandemswitches such as AIT No. 4 ESS and Northern Telecom DMS 100 are wellknown in the art. In addition to the tandem connection, it should beunderstood that SSPs in different areas may also transfer voice and datatraffic directly between each other.

STPs 24, 44 communicate with SCPs 22, 42 to transfer network signalingprotocols 60. STPs 24, 44 also transfer network signaling protocols 60between regions. SCPs 22, 42 may also transfer network signalingprotocols between region A and region B via STPs 24, 44. A STP and a SCPpreferably include a microprocessor controlled computer system usingcomputer peripherals controlled by application software programmed toimplement the appropriate communication functions. STPs and SCPs areavailable from a number of telephone switch venders such as AT&T (LucentTechnologies), Nortel, and Siemens, for example.

Referring again to FIG. 1, the process of identifying the name of acalling party 32 in the preferred embodiment begins when the callingparty 32 lifts the telephone receiver and sends the number of the calledparty 52 to the SSP 28. The SSP 28 of calling party 32 sends a networksignaling protocol 60 to STP 24 which routes the network signalingprotocol signal 60 to the SSP 50 of the called party 52. The networksignaling protocol 60 alerts the called party's SSP 50 that callingparty 32 is attempting to terminate a call to the called party 52.

In the AIN of the present embodiment , central databases 23, 43 at SCPs22, 42 store information identifying the types of terminating servicesavailable to each subscriber 34, 54. This information determines howSCPs 23, 43 will handle queries sent from the called party's SSP 50.

When the called party's SSP 50 attempts to terminate the call, SSP 50triggers a query to its SCP 42 via STP 44. In particular, SSP 50 sendsthe triggered query over the signaling network via STP 44 to SCP 42 asit would send a network signaling protocol 60. The triggered querypreferably contains the 10 digit telephone number of calling party 32.Preferably, SSP 50 has software with an associated computer processorand memory which recognizes the network signaling protocol identifyingan incoming call attempt. In response, SSP 50 software formulates thetrigger query and transmits it to STP 44 as it would a network signalprotocol message.

The triggered query requests SCP database 43 to identify the terminatingservices available to the called party 52. For example, SCP database 43may contain information identifying the terminating services availablefor each telephone number in the form of a database or lookup table in amemory storage device such as random access memory, or a magnetic oroptical disk drive, known to those skilled in the art. Of course, acombination of different memory storage devices or other types ofdevices may be used. The memory storage device preferably stores theservice information in a data record such as an array, lookup or pointertable or other data structure known to those skilled in the art. Uponreceiving the triggered query, SCP 42 preferably indexes the calledparty's number into SCP database 43 to obtain the information regardingthe services available to the called party 52. If caller identificationis available in the SCP database 43, SCP 42 will attempt to determinethe name of the calling party 32. In the preferred embodiment, thetrigger query contains the calling party's 10 digit telephone number.

Referring now to FIG. 2, SCP 42 (FIG. 1) determines 72 whether thecalling party's telephone number has been received. If the telephonenumber has been received, SCP 42 determines 74 whether the calling party32 has placed any restrictions on the disclosure of his name byrequesting that it not be disclosed. If there are no restrictions, SCP42 performs 76 an initial analysis of the calling party's ten digittelephone number. Preferably, SCP 42 analyzes the first six digits ofthe telephone number to determine whether the calling party name iswithin SCP database 43. The first six digits of a ten digit telephonenumber are typically referred to as a NPANXX combination. For example, aNPANXX contains an area code and prefix such as 312-321. Alternatively,SCP 42 may analyze the first three digits of the calling party telephoneto determine whether a calling party 32 is within database 43.

Preferably, SCP 42 analyzes the NPANXX by searching database 43containing all of the combinations of the NPANXX of all the phonenumbers available within the database. If the NPANXX of the callingparty's telephone number is found within the database, then the callingparty name is available and can be determined by matching the last 4digits of the calling party number.

However, if the combination of the first six digits of the callingparty's telephone number is identified 78 as not being listed within thedatabase, then the name of the calling party is not available. Forexample, if the name of the calling party cannot be determined, thecalling party 32 and called party 52 are typically from differentcalling regions serviced by different SCPs which do not share name andtelephone number information. Rather than providing no informationregarding the calling party, the present invention attempts to providealternate types of information about the calling party.

One alternate type of calling party information which may be provided inlieu of the calling party name is the name of geographical area fromwhich the calling party originated the call. For example, the name ofthe state (e.g., Alaska, Alabama, Arkansas, etc.) or the city (e.g,Chicago, Atlanta, New York, etc.) in which the calling party originatedthe call may be provided in place of the caller name.

To identify the names of the city and state, the called party's SCP 42sends a query to database 43 requesting the names of the city and statethat is associated with the NPANXX of the calling party's telephonenumber. SCP 42 searches 80 database 43 to find the combination of thefirst six digits of the calling party's telephone number and the cityand state names associated with the combination. If the combination ofthe first six digits is found, then the corresponding city and statenames are retrieved 82 by SCP 42. SCP 42 checks 84 to ensure that boththe city and state names were returned by analyzing the returned namesto see if they are blank. If city and state names are not blank they aredelivered 86 to the called party 52.

However, if the combination of the first six digits of the callingparty's telephone number is not found within the database, SCP 42searches 88 for the first three digits of the number. These digits arecommonly referred to as the area code and are designated by NPA. If thecombination of three digits is found then the corresponding state nameis retrieved 90 by SCP 42. SCP 42 checks 92 to ensure that a state namewas returned by determining whether the returned state name is blank. Ifthe returned state name is not blank then it is delivered 94 to thecalled party 52.

The present embodiment may be implemented with software and logic asknown to those of skill in the art. For example, the present embodimentmay be written in a high level programming language such as Pascal, C orC++. The present embodiment may be written and compiled to run on astandard UNIX operating system microcomputer implemented within the SCP.

Referring to FIG. 3, in an alternate embodiment, end offices 29, 31, 49,51 equipped with standard switching equipment provide subscribers withaccess to the telephone network 10. End offices 29, 31, 49, 51 providefor the transmission and receipt of voice and data communication 70between tandem switches 26, 46 and other end offices. End offices 29,31, 49, 51 also provide for network signaling communication 60 with STPs24, 44.

In this embodiment, the process of identifying the name of a callingparty in the alternate preferred embodiment begins when the callingparty 32 lifts a receiver and sends the number of the called party 52 tothe end office 29, 31, 49, 51. The calling party's end office 31 sends anetwork signaling protocol 60 to the STP 24 which routes the networksignaling protocol signal 60 to the called party's end office 51. Thenetwork signaling protocol 60 alerts the called party's end office 51that calling party 32 is attempting to terminate a call to called party52 of end office 51.

When the called party's end office 51 attempts to terminate the call,end office 51 sends a specific query to its SCP 42 via STP 44. Incomparison to an AIN triggered query, the specific query requestinstructs the SCP 42 to perform specific tasks. The specific queryrequest preferably contains the 10 digit telephone number of callingparty 32. End office 51 sends the specific query over the signalingnetwork via STP 44 to SCP 42 as it would send a network signalingprotocol 60. Preferably, end offices 29, 31, 49, 51 have software withan associated computer processor and memory which recognizes the networksignaling protocol identifying an incoming call attempt.

The specific query requests a SCP database 43 to respond with thecalling party's name. For example, SCP database 43 may containinformation identifying the names available for each telephone number inthe form of a database or lookup table in a memory storage device suchas random access memory, or a magnetic or optical disk drive, known tothose skilled in the art. Of course, a combination of different memorystorage devices or other types of devices may be used. The memorystorage device preferably stores the service information in a datarecord such as an array, lookup or pointer table or other data structureknown to those skilled in the art.

Upon receiving the query , SCP 42 preferably indexes the calling party'stelephone number into SCP database 43 to obtain the informationregarding the names available to the called party 52. If calleridentification is assigned to the customer as translated in end office51, SCP 42 will attempt to determine the name of the calling party 32.In the preferred embodiment, the query contains the calling party's 10digit telephone number.

Referring now to FIGS. 3 and 4, end office 51 determines 73 whether thecalling party's telephone number has been received. If the number hasbeen received, end office 51 determines 75 whether the calling party 32has placed restrictions on the disclosure of his name by requesting thatit not be disclosed. If there are no restrictions STP 44 may perform 77an initial analysis of the calling party's ten digit telephone number.The first six digits of a ten digit telephone number are typicallyreferred to as a NPANXX combination. For example, a NPANXX contains anarea code and prefix such as 312-321. Alternatively, SCP 42 may analyzethe first three digits of the calling party number to determine whethera calling party is within the database 43.

Preferably, SCP 42 analyzes the NPANXX by indexing the database 43containing all of the combinations of the NPANXX of all the telephonenumbers available within the database. If NPANXX of the calling party'stelephone number is found within the database, then the calling partyname is available.

However, if the combination of the first six digits of the callingparty's telephone number is identified 79 as not being listed withindatabase 43 the calling party name is not available. For example, if thename of the calling party cannot be determined, the calling and calledparty are typically from different calling regions serviced by differentSCPs which do not share name and number information. Rather thanproviding no information regarding the calling party, the presentinvention attempts to provide alternate types of information about thecalling party.

One alternate type of calling party information which may be provided inlieu of the calling party name is the name of geographical areas fromwhich the calling party originated the call. For example, the name ofthe state (e.g., Alaska, Alabama, Arkansas, etc.) or the city in whichthe calling party originated the call may be provided in place of thecaller name.

To identify the names of the city and state, the called party STP 44sends a query to database 43 requesting the names of the city and statethat are associated with the NPANXX of the calling party's telephonenumber. SCP 42 performs 81 a database index to find the combination ofthe first six digits of the calling party's telephone number and thecity and state names associated with such combination. If thecombination of the first six digits is found, then corresponding cityand state names are retrieved 83 by SCP 42. SCP 42 checks to ensure thatboth the city and state names were returned by analyzing 85 the returnednames to see if they are blank. If city and state names are not blank,they are delivered 87 to the called party 52.

However, if the combination of the first six digits of the callingparty's telephone number is not found within database 43, SCP 42 indexes89 for the first three digits of the number. These digits are commonlyreferred to as the area code and are designated by NPA. If thecombination of three digits is found, then the corresponding state nameis retrieved 91 by SCP 42. SCP 42 checks 93 to ensure that a state namewas returned by determining whether the returned state name is blank. Ifthe returned state name is not blank, then it is delivered 95 to thecalled party 52.

The present embodiment may be implemented with software and logic asknown to those of skill in the art. For example, the present embodimentmay be written in a high level programming language such as Pascal, C orC++. The present embodiment may be written and compiled to run on astandard UNIX operating system microcomputer implemented within the SCP.

It is to be understood that foregoing detailed description is exemplaryand explanatory and is intended to provide further explanation of theinvention as claimed. Numerous modifications and variations arepossible. The invention, together with the further objects and intendedadvantages, will best be understood by reference to the followingdetailed description, taken in conjunction with the accompanyingdrawings.

We claim:
 1. A system for determining a state name from which atelephone call originates comprising: a called party's switch disposedwithin a publicly switched telephone network , the called party's switchbeing operable to generate a query in response to the receipt of atelephone call; and a processor responsive to the called party's switch,the processor being operable to identify the state name of a callingparty in response to the query and being operable to transmit the statename of the calling party to the called party's switch.
 2. The inventionof claim 1, wherein the switch comprises a service switching point. 3.The invention of claim 1, wherein the processor comprises a servicecontrol point.
 4. A system for determining a city name and a state namefrom which a telephone call originates comprising: a called party'sswitch disposed within a publicly switched telephone network the calledparty's switch being operable to generate a query in response to thereceipt of a telephone call; and a processor responsive to the calledparty's switch, the processor being operable to identify the city nameand state name of a calling party in response to the query and beingoperable to transmit the city name and state name of the calling partyto the called party's switch.
 5. The invention of claim 4, wherein theswitch comprises a service switching point.
 6. The invention of claim 4,wherein the processor comprises a service control point.
 7. A system fordetermining a state name from which a telephone call originatescomprising: a called party's switch disposed within a publicly switchedtelephone network , the called party's switch comprising means forgenerating a query in response to the receipt of a telephone call; and aprocessor responsive to the called party's switch, the processorcomprising means for identifying the state name of a calling party inresponse to the query and means for transmitting the state name of thecalling party to the called party's switch.
 8. The invention of claim 7,wherein the switch comprises a service switching point.
 9. The inventionof claim 7, wherein the processor comprises a service control point. 10.A system for determining a city name and a state name from which atelephone call originates comprising: a called party's switch disposedwithin a publicly switched telephone network , the called party's switchcomprising means for generating a query in response to the receipt of atelephone call; and a processor responsive to the called party's switch,the processor comprising means for identifying the city name and statename of a calling party in response to the query and means fortransmitting the city name and state name of the calling party to thecalled party's switch.
 11. The invention of claim 10, wherein the switchcomprises a service switching point.
 12. The invention of claim 10,wherein the processor comprises a service control point.
 13. A methodfor determining a state name from which a telephone call originatescomprising: receiving a query from a switch disposed within a publiclyswitched telephone network; identifying the state name of a callingparty when the calling party name is not available; and automaticallydelivering the state name of the calling party to the switch.
 14. Theinvention of claim 13, wherein the switch comprises a service switchingpoint.
 15. A method for determining a city name and a state name fromwhich a telephone call originates comprising: receiving a query from aswitch disposed within a publicly switched telephone network;identifying the city name and state name of a calling party when thecalling party name is not available; and automatically delivering thecity name and state name of the calling party to the switch.
 16. Theinvention of claim 15, wherein the switch comprises a service switchingpoint.
 17. A computer usable medium having computer readable programcode embodied therein for determining a state name from which atelephone call originates, the computer readable program codecomprising: computer readable program code for causing a computer todetermine whether a calling party name is available in a databases inresponse to the receipt of a query; computer readable program code forcausing a computer to identify the state name of the calling party whenthe calling party name is not available in the database; and computerreadable program code for causing a computer to automatically deliverthe state name of the calling party to a called party.
 18. A computerusable medium having computer readable program code embodied therein fordetermining a city name and a state name from which a telephone calloriginates, the computer readable program code comprising: computerreadable program code for causing a computer to determine whether acalling party name is available in a database, in response to thereceipt of a query; computer readable program code for causing acomputer to identify the city name and the state name of the callingparty when the calling party name is not available in the database; andcomputer readable program code for causing a computer to automaticallydeliver the city name and the state name of the calling party to acalled party.